<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>008_事件对象.html</title>
    <style type="text/css">
        #areaDiv,  #showMsg{
            width: 300px;
            border: 1px solid green;
            position: relative;
            left: 600px;
        }
        #areaDiv {
            height: 300px;
            margin-bottom: 10px;
        }
        #showMsg {
            height: 30px;
        }
    </style>
</head>
<body>
    <div id="areaDiv"></div>
    <div id="showMsg"></div>

<script type="text/javascript">
    var areaDiv = document.getElementById("areaDiv");
    var showMsg = document.getElementById("showMsg");

    /**
     *  onmousemove 该事件将会在鼠标在元素中移动时被触发
     *
     *  事件对象：
     *      当事件的响应函数被触发时， 浏览器(IE8除外)每次都会将一个事件对象作为实参传递进响应函数，
     *      在事件对象中封装了当前事件相关的一切信息，比如：鼠标的坐标，键盘上哪个按键被按下，鼠标滚轮滚动的方向。
     */
    areaDiv.onmousemove = function (event) {

        /**
         * event:
         *  在IE8中，响应函数被触发时，浏览器不会传递事件对象，在IE8以及以下的浏览器中，是将事件对象作为window对象的属性保存的
         *  var x = window.event.clientX;
         *  var y = window.event.clientY;
         *
         *  为了更好的兼容所有的浏览器，需要判断event是否存在
         *
         */
        if(!event) {
            var x = window.event.clientX;
            var y = window.event.clientY;
        } else {
            var x = event.clientX;
            var y = event.clientY;
        }
        showMsg.innerHTML = "x = " + x + ", y = " + y;
    }
</script>
</body>
</html>